package com.swanclouds.api.systems;

import com.swanclouds.common.RestService;
import com.swanclouds.model.common.redfish.CollectionResource;
import com.swanclouds.model.systems.EthernetInterfaceConfigure;
import com.swanclouds.model.task.Task;
import com.swanclouds.redfish.systems.domain.VLAN;

/**
 * VLAN 集合资源服务
 * @author 张立强
 * @version jdk1.8.0
 */
public interface VLANService extends RestService {

    /**
     * 查询VLAN集合资源信息
     * @param ethernetInterfaceId 以太网ID
     * @return CollectionResource
     */
    CollectionResource get(String ethernetInterfaceId);

    /**
     * 查询 VLAN 资源信息
     * @param vlanId VLAN ID
     * @param ethernetinterfaceId 以太网ID
     * @return VLAN 资源
     */
    VLAN getVLAN(String vlanId, String ethernetinterfaceId);

    /**
     * 配置VLAN
     * 仅支持Atlas系列产品，且需配合iBMA使用，iBMA版本号需大于或等于1.50.831。
     * X86系统是EulerOS且内核版本是3.10.0-327或3.10.0-514
     * @param configure VLAN Confiure
     * @param vlanId VLAN ID
     * @param ethernetInterfaceId 以太网ID
     * @return Task
     */
    Task configure(EthernetInterfaceConfigure configure, String vlanId, String ethernetInterfaceId);
}
